package com.ruanyuan.controller;

import javax.servlet.http.HttpSession;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.ruanyuan.pojo.User;
import com.ruanyuan.service.UserService;
import com.ruanyuan.utils.MD5;

/**
 * 用户控制器
 * 
 * @author zbp
 *
 */
@Controller
@RequestMapping("/User")
public class UserController {
	// 注入用户业务类
	@Autowired
	private UserService userService;

	// 跳转至用户登录页
	@RequestMapping("/tologin")
	public String toLogin() {
		return "login";
	}

	// 用户登录操作
	@RequestMapping("/login")
	@ResponseBody
	public int getLogin(User user, HttpSession session) {
		// 获取用户名信息
		String userName = user.getUserName();
		// 获取用户密码信息
		String password = user.getPassword();
		// md5加密
		String md5Pwd = MD5.MD5Encode(password);
		user.setPassword(md5Pwd);
		// 执行登录方法
		User login = userService.getLogin(user);
		// 向session传递用户名信息
		session.setAttribute("userName", userName);
		// 登录成功
		if (login != null) {
			// 向session中添加用户信息
			session.setAttribute("user", login);
			return 1;
		} else {
			// 登录失败
			return 0;
		}
	}

	// 跳转至注册页
	@RequestMapping("/toregister")
	public String toRegister() {
		return "register";
	}

	// 用户注册操作
	@RequestMapping("/register")
	@ResponseBody
	public int Register(User user) {
		int rows = userService.addUser(user);
		if (rows > 0) {
			System.out.println("添加成功");
			return 1;
		} else {
			System.out.println("添加失败");
			return 0;
		}
	}

	// 退出登录操作
	@RequestMapping("/exit")
	public String exitLogin(HttpSession session) {
		session.removeAttribute("user");
		return "forward:/Message/allMess";
	}

}
